220 IF LEFT$(A$,1) = " " THEN A$ = MID$ (A$,2): GOTO 220
230 IF A$ = "" THEN A$ = CZ$: VTAB PEEK(37): HTAB 16: PRINT A$
235 PRINT : IF A$ = "" THEN 275
240 CZ$ = A$: FOR A = 2 TO LEN(A$): IF MID$ (A$,A,1) < >" " THEN NEXT
250 V$ = LEFT$(A$,A -1):S$ = MID$ (A$,A +1)
260 IF LEFT$(S$,1) = " " THEN S$ = MID$ (S$,2): GOTO 260
270 SL = LEN(V$): FOR A = 1 TO ND: IF LEFT$(C$(A),SL) = V$ THEN C = A:A = 999: NEXT : GOTO 290
272 NEXT :F = 0: FOR A = ND +1 TO NC: IF LEFT$(C$(A),SL) = V$ THEN C = A:F = F +1: IF C$(A) = V$ THEN F = 1:A = 999
273 NEXT
275 IF F < >1 THEN PRINT : FOR R = 401 TO 402: GOSUB 45: NEXT : GOTO 210
280 IF M%(9,5) = RO THEN M%(9,5) = 0:T(1) = 0: PRINT "The Ghost vanishes!": GOTO 99
290 ON C GOTO 3000,3000,3000,3000,3000,3000,8000,6500,12000,4000,5000,9000,17000,10000,7000,11000
295 ON C -16 GOTO 6000,23000,19000,20000,22000,28000,18000,29000,18900,16000,26000
296 ON C -27 GOTO 30000
300 REM MONSTERS ATTACK
310 IF NOT T(1) THEN 500
315 B% = 39:D% = RO: FOR M = 1 TO 39::C% = M: & A,D%,M%(C%,5),C%,B%: IF NOT C% THEN M = 999: NEXT : GOTO 340
320 M = C%: IF M <6 THEN NEXT : GOTO 340
321 IF M%(M,14) = 4 THEN GOSUB 1100
322 IF M = 39 AND A%(67,4) = RO THEN NEXT : GOTO 340
323 IF M = 39 THEN IF M%(39,13)/M%(39,1) >.5 THEN PRINT "LICH casts a GATE spell!": GOSUB 56:R = 267: GOSUB 45:A%(67,0) = 1:A%(67,4) = RO: NEXT : GOTO 100
325 M5 = 2 *M%(M,4): IF M5 >M%(M,3) THEN M5 = M%(M,3)
330 OF = M: FOR MC = 1 TO M5: GOSUB 2000: GOSUB 7400: NEXT
335 NEXT
340 IF M%(2,5) < >RO THEN 360
345 IF NOT TL THEN 500
350 GOSUB 2500: IF M%(DF,4) = 1 THEN 500
355 OF = 2: GOSUB 7200: IF M%(DF,4) = 2 AND M%(1,5) = RO THEN 500
360 IF M%(3,5) < >RO THEN 400
365 IF NOT T(1) THEN 500
370 IF HK >9 THEN IF NOT H%(7) THEN H%(7) = 1: PRINT "The cleric turns to you.": GOSUB 56:R = 444: GOSUB 45
380 GOSUB 2800: GOSUB 2500: IF NOT H THEN OF = 3: GOSUB 7200
390 IF M%(DF,4) = 2 THEN 500
400 IF M%(4,5) < >RO THEN 430
405 IF NOT T(1) THEN 500
410 GOSUB 2500: IF M%(DF,4) = 3 THEN IF M%(1,5) = RO AND M%(2,5) = RO AND M%(3,5) = RO THEN 500
415 OF = 4:M = 4: IF DF = 28 THEN IF RH%(4) = 15 OR LH%(4) = 15 THEN UH = UH +1: IF UH >1 THEN A = 15:S = 5:C = SP%(S,4): GOSUB 11500: GOTO 500
420 GOSUB 7200
425 IF M%(DF,4) = 3 THEN 500
430 IF M%(5,5) < >RO THEN 450
435 IF NOT T(1) THEN 500
440 GOSUB 2500: IF M%(DF,4) = 4 THEN IF T(2) = 5 THEN 500
445 OF = 5: GOSUB 7200
450 REM
500 REM <CTRL-0x0a><CTRL-0x0a>SPECIAL EVERY-ROUND STUFF<CTRL-0x0a>
505 IF TL <3 AND AL <3 THEN IF A%(9,8) = 0 THEN DF = ABS(A%(9,4)): IF DF >1 AND DF <6 THEN IF RH%(DF) = 9 OR LH%(DF) = 9 THEN A = 9: GOSUB 19100
510 IF T(1) OR NOT DI THEN 600
520 REM TRY TO RESURRECT
530 IF M%(3,5) < >RO OR A%(14,4) < > -3 THEN Z = 1: GOTO 32000
540 S = 4:C = SP%(4,4): IF A%(14,7) <C THEN Z = 1: GOTO 32000
550 A = 14:DF = 1:M = 3:DI = 0: GOSUB 59: HOME :L = 0: GOTO 11400
600 LK = 0: FOR M = 1 TO 5: IF M%(M,4) = 0 THEN NEXT : GOTO 650
610 IF M%(M,5) < >RO THEN NEXT : GOTO 650
620 M%(M,4) = M%(M,4) +1: IF M%(M,4) <5 OR M%(M,4)/2 < > INT(M%(M,4)/2) THEN NEXT : GOTO 650
630 PRINT M$(M)" is weakening.": GOSUB 52:M%(M,13) = M%(M,13) +1:LK = 1: IF M%(M,13) > = M%(M,1) OR M%(M,4) >35 THEN DF = M: PRINT : GOSUB 7700
640 NEXT
650 IF LK THEN GOSUB 56
690 IF DI THEN MD = 5:LY = 3: GOTO 100
700 IF A%(6,8) THEN A = 6: GOSUB 900
710 IF A%(9,8) THEN A = 9: GOSUB 900
750 IF A%(20,8) = 5 THEN A%(20,7) = A%(20,7) +1 +(T(1) >0): IF A%(20,7) >3 THEN IF M%(1,13) THEN A%(20,7) = 0:D2 = -1: PRINT " *** You are regenerating! ";:DF = 1: GOSUB 7650
800 IF M%(12,5) = RO +100 THEN M%(12,5) = RO: GOSUB 3600
7540 RR = INT( RND(1) *100) +1: IF RR >HT THEN 7550
7545 HT = HT -AA: IF RR < = HT THEN 7600
7546 PRINT "too hesitant!": GOTO 56
7550 B = M%(OF,8):A = M%(DF,6)
7560 IF DF = 39 THEN PRINT "stopped by spell!": GOTO 56
7580 PRINT DF$(A,B)
7590 GOTO 56
7600 REM HIT
7605 IF DF = 3 THEN IF M%(OF,14) = 4 THEN GOSUB 1500
7610 D2 = 0
7615 FOR D3 = 1 TO D:D2 = D2 + INT( RND(1) *S) +1: NEXT :D2 = D2 -AC: IF D2 <0 THEN D2 = 0
7620 IF D2 AND OF = 1 THEN IF A%(20,8) = 3 AND DF <31 THEN PRINT "SIZZLE! ";:D2 = D2 + INT( RND(1) *3) +1
7625 IF OF = 4 THEN IF Z$ = "LIGHTNING BOLT" OR (RH%(4) = 15 AND INT( RND(1) *100) <A%(15,7)) THEN PRINT "ZZZAAAPPP! ";: IF Z$ < >"LIGHTNING BOLT" THEN A%(15,7) = A%(15,7) -1:D2 = D2 + INT( RND(1) *6) +1
7630 IF OF < >1 AND DF < >1 THEN 7635
7631 C1 = A%(20,8):C2 = M%(DF,14): IF DF = 1 THEN C2 = M%(OF,14)
7632 IF C1 = 2 AND C2 = 1 THEN PRINT "AIR negates EARTH!":M%(1,2) = M%(1,2) -1: GOTO 1999
7633 IF C1 = 3 AND C2 = 3 THEN PRINT "WATER douses FIRE!": GOTO 1999
7634 IF C1 = 5 AND C2 = 4 THEN PRINT "DEATH banishes LIFE!":RG = 0: GOTO 1999
7635 IF D2 <1 THEN PRINT "blow bounces off!": GOTO 56
7637 IF M%(OF,14) = 2 THEN IF RND(1) >.5 THEN PRINT "POISON! ";:M%(DF,4) = M%(DF,4) +1
7640 IF D2 +M%(DF,13) <M%(DF,1) THEN 7650
7642 IF D2 <M%(DF,1) OR DF <6 THEN PRINT "the mortal blow!": GOSUB 56: GOTO 7699
7643 IF Z$ = "LIGHTNING BOLT" OR RH%(OF) = 15 THEN PRINT : GOSUB 56:Q = 6 -(DF = 31 OR DF = 33 OR DF = 36): GOTO 7645
7644 PRINT "a mighty stroke!": GOSUB 56:Q = M%(OF,9)
7645 PRINT " *** "M$(DF)" "CR$(Q)"!": GOSUB 56
7646 IF M%(5,5) = RO THEN IF RND(1) >.5 AND NOT SQ%(Q) THEN SQ%(Q) = 1:R = 447 +Q -(Q = 6): GOSUB 45